package cn.jetpiece.cloud.core.exception.enums;


import cn.jetpiece.cloud.model.exception.enums.AbstractExceptionEnum;

/**
 * 签名异常
 *
 * @author XuJZ
 */
public enum GatewayExceptionEnum implements AbstractExceptionEnum {

    /**
     * 权限校验异常
     */
    TOKEN_EMPTY(401, "登录令牌为空，请检查是否已经登录"),
    TOKEN_ERROR(401, "token无效"),
    NO_PERMISSION(403, "没有访问该资源的权限"),
    CACHE_URL_NULL(404, "url转发规则为空"),
    TOKEN_EXPIRED(401, "token过期"),

    /**
     * 其他异常
     */
    GATEWAY_ERROR(502, "网关异常"),

    /**
     * 权限校验异常
     */
    ACCESS_KEY_EMPTY(400, "鉴权公钥为空"),
    /**
     * 接入者不存在
     */
    ACCESSOR_NOT_EXISTED(400, "接入者不存在"),
    /**
     * 权限校验异常
     */
    SIGN_EMPTY(400, "签名为空"),

    /**
     * 时间戳为空
     */
    TIME_STAMP_EMPTY(400, "时间戳为空"),

    /**
     * 时间戳无效
     */
    TIME_STAMP_INVALID(400, "时间戳无效"),

    /**
     * 签名异常
     */
    SIGN_ERROR(400, "签名错误");

    private int code;
    private String message;

    GatewayExceptionEnum(int code, String message) {
        this.code = code;
        this.message = message;
    }

    @Override
    public Integer getCode() {
        return code;
    }

    @Override
    public String getMessage() {
        return message;
    }

}
